MuleSoft Accelerator for Salesforce OMS
B2B EDI Order Lifecycle Automation
Automate B2B/EDI order lifecycle with Salesforce OMS
Overview
- Description
- Glossary
- Solution overview
- Assumptions and constraints
- High-level architecture
- Activity diagrams
- Systems involved
See also
This use case provides templates to manage orders received via EDI channels, within Salesforce Order Management System (OMS). The solution is packaged with all the configurations, components and APIs required to manage the end-to-end EDI transaction exchange with the B2B customers across the fulfillment lifecycle. These templates enable B2B sellers to go to market faster, while taking advantage of the omni-channel order management capabilities offered by Salesforce OMS.
The image below depicts the functional use cases currently supported through this solution.
Real Time Integration & End-to-end visibility
The solution design follows an API-led connectivity approach, offering real-time integration and visibility of EDI transactions exchanged across the full order lifecycle execution.
Anypoint Partner Manager’s configuration-driven partner onboarding experience enables business users to manage the onboarding of new partners with minimal support from IT teams. Partner Manager’s out of the box transaction visibility and search capabilities enable support users to troubleshoot any data translation or connectivity errors and resolve them quickly.
The process and system API templates included within the accelerator enable efficient connectivity between Partner Manager and Salesforce OMS, facilitating the exchange of bi-directional transactions between the systems.
What’s included?
The solution comes bundled with the following artifacts, enabling organizations to rapidly deploy and start processing EDI orders.
- Pre-built mappings for EDI X12 inbound Purchase Orders, outbound Purchase Order acknowledgements, Advance shipment notices, Invoices and inbound payment/remittance advice.
- Schemas and examples for EDI and Salesforce data formats
- Configuration utility to create B2B configurations in Anypoint Partner Manager via API calls
- Process & system API templates orchestrating end to end order lifecycle management with Salesforce OMS for ingesting orders and processing transaction lifecycle management as orders go through the fulfillment process.
- End-to-end sequence diagrams
Description
The solution provides a jump start to implementing EDI based order management within Salesforce OMS by providing the following artifacts:
- Pre-built EDI mapping for X12 4010
- Partner Manager configuration utility
- Process & System APIs orchestrating end to end order lifecycle with Salesforce OMS
Glossary
Term | Definition |
---|---|
CIM | The Cloud Information Model for MuleSoft Accelerators defines a set of standard data structures that can be used as canonical representations of common entities for integrating systems. |
B2B | Abbreviated term for "Business-to-Business." It refers to transactions, interactions, or relationships between two businesses. |
OMS | Order Management System (OMS) is a software platform that helps businesses manage and track orders from placement to fulfillment. |
ERP | ERP stands for Enterprise Resource Planning Software that organizations use to manage and integrate core business processes such as finance, HR, supply chain, manufacturing, procurement, and other aspects of their operations. |
EDI | Electronic Data Interchange (EDI) is the computer-to-computer exchange of business documents in a standard electronic format between business partners. |
APM | Anypoint Partner Manager enables you to perform bidirectional Business-to-Business (B2B) message exchanges using APIs and Electronic Data Interchange (EDI) formats, and to conduct business transactions such as buying and selling products with your partners. |
Solution overview
This solution enables organizations to receive X12 EDI orders through APM and effectively manage the order lifecycle within Salesforce OMS. Furthermore, it allows buyers to promptly receive order acknowledgements, Advanced Shipping Notices (ASN), and invoices at various stages of the order process. Additionally, it facilitates the submission of payment remittances via EDI.
Before you begin
The Getting Started with MuleSoft Accelerators guide provides general information on getting started with the accelerator components. This includes instructions on setting up your local workstation for configuring and deploying the applications. |
Goals
- Process incoming X12-850 purchase orders in APM and generate corresponding orders and order summary requests within Salesforce OMS.
- Generate and allocate fulfillment orders within Salesforce OMS based on received purchase orders.
- Generate X12-855 acknowledgment messages and transmit them to the buyer from APM upon successful allocation of items.
- Transmit fulfillment details to the ERP system for shipping purposes (simulated for this release), ERP integration will be coming later.
- Receive shipping notifications from the ERP system (simulated for this release), update Salesforce OMS fulfillment order with shipping information and transmit X12-856 Advanced Shipping Notices (ASN) to the buyer from APM.
- Generate invoices within Salesforce OMS and transmit X12-810 invoices to the buyer from APM.
- Process incoming X12-820 payment transactions in APM and capture payments in Salesforce OMS.
- Slack notifications are sent in the following case:
- Purchase Order received
- Order Allocation complete
- Shipment Notice
- Payment received
Use case considerations
- An incoming Purchase Order to APM results in the creation of an Order, Order Summary and Fulfillment Order(s) in Salesforce OMS.
- Inventory allocation is handled in Salesforce OMS, the solution can be extended to integrate with a backend ERP to update inventory data in Salesforce OMS.
- Order Line Items are grouped into multiple Fulfillment Orders if the Purchase Order has multiple shipping addresses.
- If an order line item does not have a specific ship to address, it defaults to the shipment address for the Order.
- Purchase Order acknowledgement is sent only after the order status goes to allocated indicating that all the fulfillment orders have been created.
Technical considerations
- Use CIM as the canonical model, where applicable (e.g., for Orders).
- High Scale Order API is used for Order and Order Summary creation in Salesforce OMS
- A simulator API is used to simulate the backend ERP and partner endpoints.
Assumptions and constraints
- All the calls (to and from) ERP interaction are simulated.
- APM message flows perform EDI to CIM and CIM to EDI conversion.
- The implementation uses default values for configurations such as Delivery Method, Payment Gateway Method, and Payment Type; these configurations will need to be updated for a customer's Salesforce OMS org.
- A Business Account with appropriate custom fields needs to be created and a
B2B_EDISenderCode__c
custom field will be used for matching an account as explained in the setup guide. - The Account field in the incoming PO 850 message will be matched with an Account in Salesforce OMS using the B2BEDISenderCode\_c custom field.
High-level architecture
The following diagram represents the portion of the overall solution that pertains to this use case:
Activity diagrams
The following diagrams illustrate the processing sequences for the integrations activities included in this release.
Receive Purchase Order 850
Send Purchase Order Acknowledgement 855
Send Advance Shipping Notice 856
Send Invoice 810
Receive Remittance 820
Systems involved
- Anypoint Partner Manager
- Salesforce Order Management System
- ERP (simulated)
Downloadable assets
OMS System APIs
- Accelerator Salesforce OMS System API | API Specification | Implementation Template
B2B Process APIs
- Accelerator B2B Simulator Process API | API Specification | Implementation Template
- Accelerator B2B Orders Process API | API Specification | Implementation Template
OMS Event Listeners
- Accelerator Salesforce OMS Event Listener | Implementation Template
Custom components
- Cloud Information Model for MuleSoft Accelerators
- Accelerator Common Core | Source
- Accelerator POM Parent | Source
- Accelerator B2B Common Library | Source
- Accelerator B2B Common Resources | Source
Shared APIs (can be used across any use case)
- Accelerator Slack System API | API Specification | Implementation Template
- Accelerator B2B Storage System API | API Specification | Implementation Template